package com.example.authservice.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.example.authservice.entity.User;

import java.util.Map;

public interface UserAuthService extends IService<User> {

    /**
     * 用户注册（含密码加密）
     * @param user 用户信息（需包含 username, password）
     * @return 是否成功
     */
    boolean register(User user);

    /**
     * 用户登录（密码校验）
     * @param username 用户名
     * @param password 明文密码
     * @return 用户信息（null 表示登录失败）
     */
    User login(String username, String password);

    /**
     * 条件分页查询用户（管理员功能）
     * @param current 当前页
     * @param size 每页大小
     * @param params 查询参数（username, role）
     * @return 分页结果
     */
    IPage<User> pageUsers(Integer current, Integer size, Map<String, Object> params);
}
